Telegram Group Search
🎲 Задача со стажировки ШАД по вероятности: сколько участников добежит до вершины?

Представим забег 100 человек по узкому скользкому эскалатору. У каждого есть шанс поскользнуться и упасть — тогда он и все, кто бежал за ним, соскальзывают вниз. Добираются до вершины только те, кто был впереди последнего упавшего.

Мы можем настраивать вероятность падения p. Вопрос: какое значение `p` нужно выбрать, чтобы в среднем до вершины добегало ровно 20 человек из 100?

Обозначения:
N = 100: общее количество участников.
K = 20: желаемое среднее количество участников, достигших вершины.
p: вероятность того, что один участник поскользнется и упадет (эту величину нужно найти).

q = 1 - p: вероятность того, что один участник не упадет.
X: случайная величина, равная количеству участников, достигших вершины. Мы хотим, чтобы E[X] = 20.

Логика процесса:
Участник i (где i от 1 до 100) доберется до вершины тогда и только тогда, когда ни один из участников перед ним (включая его самого) не упадет.

То есть, участники 1, 2, ..., i должны успешно пройти свой путь.

Вероятность того, что участник 1 достигнет вершины = P(участник 1 не упал) = q.
Вероятность того, что участник 2 достигнет вершины = P(участник 1 не упал И участник 2 не упал) = q * q = q^2.

Вероятность того, что участник i достигнет вершины = P(участники 1, ..., i не упали) = q^i.

Математическое ожидание E[X]:

Математическое ожидание количества добравшихся до вершины можно вычислить как сумму вероятностей того, что каждый конкретный участник доберется до вершины. Это связано со свойством линейности математического ожидания и использованием индикаторных переменных (I_i = 1, если i-й участник добрался, 0 иначе; E[X] = E[sum(I_i)] = sum(E[I_i]) = sum(P(I_i=1))).
E[X] = P(участник 1 добрался) + P(участник 2 добрался) + ... + P(участник N добрался)
E[X] = q^1 + q^2 + q^3 + ... + q^N
Это сумма первых N членов геометрической прогрессии с первым членом a = q и знаменателем r = q. Формула суммы:
S_N = a * (1 - r^N) / (1 - r)
Подставляем наши значения:
E[X] = q * (1 - q^N) / (1 - q)
Решение уравнения:
Мы хотим, чтобы E[X] = K = 20, при N = 100.
20 = q * (1 - q^100) / (1 - q)
Вспомним, что q = 1 - p. Значит, 1 - q = p.
20 = (1 - p) * (1 - (1 - p)^100) / p
20p = (1 - p) * (1 - (1 - p)^100)

Это уравнение довольно сложно решить аналитически из-за члена (1 - p)^100. Однако мы можем сделать разумное предположение.

Приближение:
Поскольку мы ожидаем, что только 20 из 100 человек доберутся до вершины, это означает, что падения должны происходить относительно часто, и вероятность того, что все 100 человек не упадут (q^100), должна быть очень мала. То есть, q^100 ≈ 0.
Если q^100 пренебрежимо мало по сравнению с 1, то формула для E[X] упрощается:

E[X] ≈ q * (1 - 0) / (1 - q)
E[X] ≈ q / (1 - q)
Теперь подставим желаемое значение E[X] = 20:

20 ≈ q / (1 - q)
20 * (1 - q) ≈ q
20 - 20q ≈ q
20 ≈ 21q
q ≈ 20 / 21
Теперь найдем p:
p = 1 - q
p ≈ 1 - (20 / 21)
p ≈ 1 / 21

Проверка приближения:

Давайте проверим, насколько мало значение q^100 при q = 20/21:
q^100 = (20/21)^100 ≈ (0.95238)^100

Используя калькулятор, (20/21)^100 ≈ 0.0076. Это действительно мало по сравнению с 1.

Посчитаем E[X] с этим приближением:

E[X] = (20/21) * (1 - (20/21)^100) / (1 - 20/21)
E[X] = (20/21) * (1 - 0.0076) / (1/21)
E[X] = 20 * (1 - 0.0076)
E[X] = 20 * 0.9924
E[X] ≈ 19.848

Это очень близко к целевому значению 20.

Ответ:
Чтобы в среднем вершины достигали 20 ребят из 100, вероятность падения p для каждого участника нужно подобрать примерно равной 1/21 (или около 0.0476).

👇 Пишите свое решение в комментариях

@machinelearning_interview
🖥 OpenAI опубликовала новое руководство по промптингу для GPT-4.1.

Это полезный ресурс для улучшения работы с моделью.

В руководство включен подробный "агентный промпт" (Agentic Prompt).

Именно этот промпт OpenAI использовала для достижения рекордно высокого балла в сложном бенчмарке по разработке ПО SWE-bench Verified.

Что представляет собой этот агентный промпт?

Это, по сути, детальная инструкция для GPT-4, нацеленная на автономное решение задач по исправлению кода в репозиториях. Ключевые принципы, заложенные в нем:
- Глубокое понимание: Сначала тщательно изучить проблему.
- Исследование: Проанализировать кодовую базу.
- Планирование: Разработать четкий пошаговый план.

- Тестирование: Часто запускать тесты после каждого шага.
- Итерация: Повторять процесс до полного решения проблемы.
- Строгая верификация: Убедиться в корректности и надежности решения
- Автономность: Работать с предоставленными проектами без доступа к интернету и не завершать работу до полного решения.

Этот подход демонстрирует, как структурированные, пошаговые инструкции с акцентом на тестирование и итерацию могут значительно повысить эффективность ИИ в сложных задачах программирования.

📚 Руководство
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет следующий код на Python (модуль statistics)?


import statistics as stats
import math

data = [1, 2, 2, float('nan'), 3, 4]

print("Mean:", stats.mean(data))
print("Median:", stats.median(data))
print("Mode:", stats.mode(data))


🔢 Варианты ответа:

A)

Median: 2.5
Mode: 2


B)

Median: 2.5
Mode: 2


C)ValueError: nan is not a valid number


D)

Median: nan
Mode: 2


Правильный ответ: C

💡 Почему?
- Модуль
statistics не умеет работать с NaN.
-
stats.mean() и stats.median() вызовут StatisticsError или ValueError.
- В отличие от
numpy.nanmean, здесь всё падает.
📌 Подвох — в
float('nan') в списке.
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 ReZero — маленькая модель, которая никогда не сдаётся

🧠 ReZero — это LLM на базе Llama 3.2B, обученная не просто находить ответы, а упорно искать лучший.

🔁 Вместо того чтобы оптимизировать на скорость или recall, ReZero обучается пробовать снова и снова, пока не найдёт правильный ответ.

Модель намеренно поощряется за настойчивость — если она делает retry и улучшает результат, это считается успехом.

Использует синтетические поисковые движки, которые заставляют модель перезапрашивать и улучшать свои ответы.

Обучается с помощью усиленного обучения (RL) — формируя привычку "не сдаваться".


🔜Github
🔜 Модель

@ai_machinelearning_big_data


#LLM #Search #RL #AI #Meta #ReZero #NeverGiveUp #Llama3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 ArXiv MCP Server

arxiv‑mcp‑server — это самостоятельный MCP‑сервер¹, который «оборачивает» arXiv.org в набор инструментов, доступных ИИ‑ассистентам (Claude Desktop, ChatGPT‑плагины, собственные агентовые фреймворки).

Благодаря этому ассистент может искать, скачивать и читать научные статьи, а также запускать готовые промпты для глубокого анализа работы, не покидая чата. 


¹ MCP (Message Control Protocol) — открытый протокол Anthropic для обмена сообщениями и инструментами между LLM‑клиентом и сервером.

Ключевые возможности
- Поиск статей search_papers — фильтры по запросу, диапазону дат, категориям.

- Загрузка статьи download_paper — хранит PDF/метаданные локально, чтобы не дергать arXiv повторно.

- Список локальных статей list_papers.

- Чтение содержимого read_paper — отдаёт текст постранично.

- Готовые исследовательские промпты — например, deep-paper-analysis, который строит полное ревью (summary, методология, импликации, дальнейшая работа и т.д.). 

Github
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Что сложнее: пройти собеседование в MANGA или поступить в ШАД?

В новом выпуске MLinside — Алексей Толстиков, кандидат физико-математических наук, руководитель Школы анализа данных Яндекса (ШАДа) и эксперт в олимпиадах по программированию рассказывает:

▪️Как устроен отбор в Школу и зачем нужен сложный экзамен
▪️Как готовиться к интервью и почему важна честность
▪️ Насколько важен нетворк и коммьюнити

Переходите к выпуску

По сути, это готовый мануал к поступлению и если вы сейчас выбираете трек развития в машинном обучении — обязательно к прослушиванию.
🧪 DeepEval — open-source фреймворк для оценки работы языковых моделей, вдохновленный принципами Pytest. Проект решает ключевую проблему LLM-разработки: как объективно измерить качество ответов ChatGPT, RAG-пайплайнов или AI-агентов без ручных проверок.

В отличие от разрозненных метрик вроде RAGAS или G-Eval, DeepEval объединяет 20+ критериев оценки от релевантности контекста до токсичности и SQL-инъекций в промптах. Инструмент также имеет встроенную облачную платформу для сравнения разных версий LLM — она визуализирует, как изменения влияют на accuracy и безопасность.

🤖 GitHub

@machinelearning_interview
Forwarded from Machinelearning
📌 Miras: как улучшить модели через память и внимание.

Google Research опубликовал интересную статью «It’s All Connected», в которой предлагают решение проблемы квадратичной сложности трансформеров в обработке последовательностей : фреймворк Miras, который объединяет онлайн-оптимизацию, управление памятью и внимание в единую систему, что в итоге позволяет создавать более эффективные модели.

Miras — это 4 компонента: архитектура памяти, целевая функция (смещение внимания), регуляризация удержания и алгоритм обучения. Miras позволяет экспериментировать с loss-функциями (Huber loss для устойчивости к выбросам) и регуляризацией (KL-дивергенция, Elastic Net).

С помощью Miras были созданы 3 тестовые модели — Moneta, Yaad и Memora. Moneta использует Lp-нормы для баланса между запоминанием и устойчивостью, Yaad комбинирует L1 и L2 через Huber loss, а Memora применяет Softmax с KL-регуляризацией.

В экспериментах тестовые модели обошли трансформеры и современные RNN на задачах языкового моделирования и поиска информации в длинных контекстах. На тесте «иголка в стоге сена» (8K токенов) Moneta достигла точности 98.8%, тогда как Mamba2 — лишь 31%.

Статья не просто теоретическое изыскание — это практическое руководство для разработки моделей. Четкая структура Miras помогает систематизировать существующие подходы и экспериментировать с компонентами. Например, замена регуляризации на Elastic Net или Bregman divergence может улучшить управление памятью в нишевых задачах.

Miras — шаг к более осмысленному проектированию архитектур. Если трансформеры — это «кувалда» для масштаба, то описанный в статье подход Google Research - хирургический инструмент, где каждый компонент настраивается под конкретную задачу.

🟡Arxiv

@ai_machinelearning_big_data
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
🌟 Describe Anything: сегментное аннотирование изображений и видео.

Describe Anything Model (DAM) - архитектура, разработанная Nvidia, для генерации точных и детальных описаний для конкретных областей на изображениях и видео. Традиционные VLM-модели как отдельная сущность или в связке с SAM-помощниками часто теряют ньюансы, особенно при наличии мелких объектов или динамичных сцен на целевом источнике.

DAM справляется с этим за счет 2 инноваций в своей архитектуре:

🟢Фокальный промпт — комбинация полного изображения и его маски с обрезанной областью интереса, расширенной для захвата контекста (например, увеличение bounding box в 3 раза).

🟢Локализованный визуальный бэкбон — два параллельных энкодера: глобальный (обрабатывает все изображение) и региональный (анализирует фокальный промпт). Они объединяются механизм cross-attention, позволяя сохранять детали объекта и его связь с окружением.

Модель принимает изображение или видео и бинарную маску целевой области интереса. Глобальный энкодер извлекает общие признаки, региональный — фокусируется на деталях выбранной зоны. Через адаптеры с кросс-вниманием признаки объединяются, после чего LLM генерирует описание. Для видео маски применяются к каждому кадру, а признаки агрегируются во времени.

▶️В релизе DAM представлены 3 модели:

🟠DAM-3B - базовая модель для аннотирования изображений;

🟠DAM-3B-Video - модель для работы с видео;

🟠DAM-3B-Self-Contained - автономная версия базовой модели для интеграций без сторонних зависимостей.


▶️Локальный инференс с интерактивным Gradio WebUI:

# Clone the repo
git clone https://github.com/NVlabs/describe-anything
cd describe-anything

# Create a conda env
conda create -n describe-anything
conda activate describe-anything

# Install dependencies
pip install -v

# Gradio Demo for Image Descriptions
python demo_simple.py

# Gradio Demo for Video Descriptions
python demo_video.py


📌Лицензирование моделей: NVIDIA Noncommercial License.

📌Лицензирование кода : Apache 2.0 License.


🟡Страница проекта
🟡Набор моделей
🟡Demo
🟡Arxiv
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #DAM #NVIDIA #Annotation
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/06/16 19:56:28
Back to Top
HTML Embed Code: